package com.pethospital.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pethospital.dto.StaffLoginDTO;
import com.pethospital.dto.StaffRegisterDTO;
import com.pethospital.entity.Staff;

import java.util.Map;

public interface StaffService {
    
    /**
     * 医护人员注册
     * @param registerDTO 注册信息
     * @return 是否成功
     */
    boolean register(StaffRegisterDTO registerDTO);
    
    /**
     * 医护人员登录
     * @param loginDTO 登录信息
     * @return 登录结果，包含token和用户信息
     */
    Map<String, Object> login(StaffLoginDTO loginDTO);
    
    /**
     * 根据ID获取医护人员信息
     * @param id 医护人员ID
     * @return 医护人员信息
     */
    Staff getById(Long id);
    
    /**
     * 更新医护人员信息
     * @param staff 医护人员信息
     * @return 是否成功
     */
    boolean updateById(Staff staff);
    
    /**
     * 获取医生列表
     * @param departmentId 科室ID，可为空
     * @param page 页码
     * @param size 每页大小
     * @return 医生分页列表
     */
    Page<Staff> getStaffList(Long departmentId, int page, int size);
} 